package com.example.demo.config;

import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * @program: demo
 * @author: JCM
 * @create: 2023-06-13 15:56
 * @description:
 **/


/**
 * 1. 先实现 HandlerInterceptor 接口
 * 2. 重写 preHandle 方法
 */
public class LoginInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        // 用户登录业务判断
        HttpSession session = request.getSession(false);
        if(session != null && session.getAttribute("userinfo") != null) {
            // 用户已经登录
            return true;
        }
        // 可以挑战一个页面  或者  返回一个 401/403 没有权限的状态码
        response.sendRedirect("/login.html");
        return false;
    }
}
